package com.soboot.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.soboot.datasource.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.SuperBuilder;

/**
 * @Author:
 * @createTime: 2022年09月20日 17:53:27
 * @version: 1.0
 * @Description: 系统菜单
 * @Copyright:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "SysMenu对象", description = "菜单权限表")
@TableName("sys_menu")
public class SysMenu extends BaseEntity {

    @ApiModelProperty(value = "菜单ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "菜单名称")
    private String menuName;

    @ApiModelProperty(value = "父菜单ID")
    private Integer parentId;

    @ApiModelProperty(value = "显示顺序")
    private Integer menuSort;

    @ApiModelProperty(value = "路由地址")
    private String menuPath;

    @ApiModelProperty(value = "组件路径")
    private String menuComponent;

    @ApiModelProperty(value = "是否外链")
    private String menuRedirect;

    @ApiModelProperty(value = "权限标识")
    private String menuPerms;

    @ApiModelProperty(value = "菜单图标")
    private String menuIcon;

    @ApiModelProperty(value = "编码")
    private String menuCode;

    @ApiModelProperty(value = "菜单状态（1显示 0隐藏）")
    private String menuHidden;

    @ApiModelProperty(value = "菜单类型（M目录 C菜单 F按钮）")
    private String menuType;

    @ApiModelProperty(value = "备注")
    private String remark;
}
